/**
 * Copyright ToFBA Ecommerce Logistics LTD. All Rights Reserved.
 *
 * This software is the confidential and proprietary information of
 * Shenzhen ToFBA Ecommerce Logistics Co., Ltd.
 * No body can copy or modify any part of this source without the permission of
 * Shenzhen ToFBA Ecommerce Logistics Co., Ltd.
 *   _________    ___   ________  ______        _       
 *  |  _   _  | .'   `.|_   __  ||_   _ \      / \      
 *  |_/ | | \_|/  .-.  \ | |_ \_|  | |_) |    / _ \     
 *      | |    | |   | | |  _|     |  __'.   / ___ \    
 *     _| |_   \  `-'  /_| |_     _| |__) |_/ /   \ \_  
 *    |_____|   `.___.'|_____|   |_______/|____| |____|
 *                                                
 */
package com.lmexpress.orm.tongtool;

import java.io.Serializable;
import java.util.List;

/**
 * 通途订单实体
 * 
 * @author Henry(fba02)
 * @version [版本号, 2018年8月28日]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
@SuppressWarnings("serial")
public class Order implements Serializable {
    
    private String ttPacketId;// required 通途包裹号    
    private String ttPacketStatus; // required 通途包裹状态;WAIT_UPLOAD 等待在物流商系统下单;WAIT_CONFIRM 等待在物流商系统交运;CONFIRM客户已经交运但是没有发货;WAIT_CANCEL等待在物流商系统取消;FAILURE物流商系统处理失败
    private String carrierOrderId;// 物流商系统单号未在物流商系统下单状态的订单为空
    private String trackingNumber;// 未在物流商系统下单状态的订单为空
    private String virtualTrackingNumber;// 虚拟跟踪号
    private String platformId;// 平台类型
    private String lastsyncTime;// required 订单状态的最后更新时间 
    private String shippingMethodCode;// required 物流渠道代码
    private String merchantId;  // required 通途商户号  
    private String salesRecordNumber;// 包裹订单号,如果有多订单情况会以|做区分，如4165|4166
    
    private String recipientName ;// String  必须  收件人姓名
    private String recipientAddress1  ;// String  必须  收件人地址1
    private String recipientAddress2;// String 可选 收件人地址2
    private String recipientState;// String 可选 收件人省州
    private String recipientCity;// String 必须 收件人城市
    private String recipientCountryEnName;// String 必须 收件人国家英文名称
    private String recipientCountryCnName;// String 必须 收件人国家中文名称
    private String recipientCountry;// String 必须 收件人国家二字代码
    private String recipientPostalCode;// String 可选 收件人邮编
    private String recipientTelephone;// String 可选 收件人电话
    private String recipientMobile;// String 可选 收件人手机
    private String recipientEmail;// String 可选 收件人电子邮箱
    
    private String senderName;// String 可选 寄件人姓名
    private String senderCompany;// String 可选 寄件人公司
    private String senderAddress1;// String 可选 寄件人地址1
    private String senderAddress2;// String 可选 寄件人地址2
    private String senderState;// String 可选 寄件人省州
    private String senderCity;// String 可选 寄件人城市
    private String senderCountry;// String 可选 寄件人国家
    private String senderPostalCode;// String 可选 寄件人邮编
    private String senderTelephone;// String 可选 寄件人电话
    private String senderMobile;// String 可选 寄件人手机
    private String senderEmail;// String 可选 寄件人电子邮箱
    
    private List<Declaration> declarationArray;// Declaration[] 可选 申报信息列表
    private List<ExtendParameter> extendParameterArray;// ExtendParameter[] 可选 邮寄方式扩展设置信息
    private List<APIParam> apiParamArray;// APIParam[] 必须 物流商授权信息
    private List<PickingParam> pickingArray;// PickingParam[]  必须  配货信息

    
    public String getTtPacketId() {
        return ttPacketId;
    }
    
    public void setTtPacketId(String ttPacketId) {
        this.ttPacketId = ttPacketId;
    }
    
    public String getTtPacketStatus() {
        return ttPacketStatus;
    }
    
    public void setTtPacketStatus(String ttPacketStatus) {
        this.ttPacketStatus = ttPacketStatus;
    }
    
    public String getCarrierOrderId() {
        return carrierOrderId;
    }
    
    public void setCarrierOrderId(String carrierOrderId) {
        this.carrierOrderId = carrierOrderId;
    }
    
    public String getTrackingNumber() {
        return trackingNumber;
    }
    
    public void setTrackingNumber(String trackingNumber) {
        this.trackingNumber = trackingNumber;
    }
    
    public String getVirtualTrackingNumber() {
        return virtualTrackingNumber;
    }
    
    public void setVirtualTrackingNumber(String virtualTrackingNumber) {
        this.virtualTrackingNumber = virtualTrackingNumber;
    }
    
    public String getPlatformId() {
        return platformId;
    }
    
    public void setPlatformId(String platformId) {
        this.platformId = platformId;
    }
    
    public String getLastsyncTime() {
        return lastsyncTime;
    }
    
    public void setLastsyncTime(String lastsyncTime) {
        this.lastsyncTime = lastsyncTime;
    }
    
    public String getShippingMethodCode() {
        return shippingMethodCode;
    }
    
    public void setShippingMethodCode(String shippingMethodCode) {
        this.shippingMethodCode = shippingMethodCode;
    }
    
    public String getMerchantId() {
        return merchantId;
    }
    
    public void setMerchantId(String merchantId) {
        this.merchantId = merchantId;
    }
    
    public String getSalesRecordNumber() {
        return salesRecordNumber;
    }
    
    public void setSalesRecordNumber(String salesRecordNumber) {
        this.salesRecordNumber = salesRecordNumber;
    }
    
    public String getRecipientName() {
        return recipientName;
    }
    
    public void setRecipientName(String recipientName) {
        this.recipientName = recipientName;
    }
    
    public String getRecipientAddress1() {
        return recipientAddress1;
    }
    
    public void setRecipientAddress1(String recipientAddress1) {
        this.recipientAddress1 = recipientAddress1;
    }
    
    public String getRecipientAddress2() {
        return recipientAddress2;
    }
    
    public void setRecipientAddress2(String recipientAddress2) {
        this.recipientAddress2 = recipientAddress2;
    }
    
    public String getRecipientState() {
        return recipientState;
    }
    
    public void setRecipientState(String recipientState) {
        this.recipientState = recipientState;
    }
    
    public String getRecipientCity() {
        return recipientCity;
    }
    
    public void setRecipientCity(String recipientCity) {
        this.recipientCity = recipientCity;
    }
    
    public String getRecipientCountryEnName() {
        return recipientCountryEnName;
    }
    
    public void setRecipientCountryEnName(String recipientCountryEnName) {
        this.recipientCountryEnName = recipientCountryEnName;
    }
    
    public String getRecipientCountryCnName() {
        return recipientCountryCnName;
    }
    
    public void setRecipientCountryCnName(String recipientCountryCnName) {
        this.recipientCountryCnName = recipientCountryCnName;
    }
    
    public String getRecipientCountry() {
        return recipientCountry;
    }
    
    public void setRecipientCountry(String recipientCountry) {
        this.recipientCountry = recipientCountry;
    }
    
    public String getRecipientPostalCode() {
        return recipientPostalCode;
    }
    
    public void setRecipientPostalCode(String recipientPostalCode) {
        this.recipientPostalCode = recipientPostalCode;
    }
    
    public String getRecipientTelephone() {
        return recipientTelephone;
    }
    
    public void setRecipientTelephone(String recipientTelephone) {
        this.recipientTelephone = recipientTelephone;
    }
    
    public String getRecipientMobile() {
        return recipientMobile;
    }
    
    public void setRecipientMobile(String recipientMobile) {
        this.recipientMobile = recipientMobile;
    }
    
    public String getRecipientEmail() {
        return recipientEmail;
    }
    
    public void setRecipientEmail(String recipientEmail) {
        this.recipientEmail = recipientEmail;
    }
    
    public String getSenderName() {
        return senderName;
    }
    
    public void setSenderName(String senderName) {
        this.senderName = senderName;
    }
    
    public String getSenderCompany() {
        return senderCompany;
    }
    
    public void setSenderCompany(String senderCompany) {
        this.senderCompany = senderCompany;
    }
    
    public String getSenderAddress1() {
        return senderAddress1;
    }
    
    public void setSenderAddress1(String senderAddress1) {
        this.senderAddress1 = senderAddress1;
    }
    
    public String getSenderAddress2() {
        return senderAddress2;
    }
    
    public void setSenderAddress2(String senderAddress2) {
        this.senderAddress2 = senderAddress2;
    }
    
    public String getSenderState() {
        return senderState;
    }
    
    public void setSenderState(String senderState) {
        this.senderState = senderState;
    }
    
    public String getSenderCity() {
        return senderCity;
    }
    
    public void setSenderCity(String senderCity) {
        this.senderCity = senderCity;
    }
    
    public String getSenderCountry() {
        return senderCountry;
    }
    
    public void setSenderCountry(String senderCountry) {
        this.senderCountry = senderCountry;
    }
    
    public String getSenderPostalCode() {
        return senderPostalCode;
    }
    
    public void setSenderPostalCode(String senderPostalCode) {
        this.senderPostalCode = senderPostalCode;
    }
    
    public String getSenderTelephone() {
        return senderTelephone;
    }
    
    public void setSenderTelephone(String senderTelephone) {
        this.senderTelephone = senderTelephone;
    }
    
    public String getSenderMobile() {
        return senderMobile;
    }
    
    public void setSenderMobile(String senderMobile) {
        this.senderMobile = senderMobile;
    }
    
    public String getSenderEmail() {
        return senderEmail;
    }
    
    public void setSenderEmail(String senderEmail) {
        this.senderEmail = senderEmail;
    }

    public List<Declaration> getDeclarationArray() {
        return declarationArray;
    }
    
    public void setDeclarationArray(List<Declaration> declarationArray) {
        this.declarationArray = declarationArray;
    }
    
    public List<ExtendParameter> getExtendParameterArray() {
        return extendParameterArray;
    }
    
    public void setExtendParameterArray(List<ExtendParameter> extendParameterArray) {
        this.extendParameterArray = extendParameterArray;
    }
    
    public List<APIParam> getApiParamArray() {
        return apiParamArray;
    }
    
    public void setApiParamArray(List<APIParam> apiParamArray) {
        this.apiParamArray = apiParamArray;
    }
    
    public List<PickingParam> getPickingArray() {
        return pickingArray;
    }
    
    public void setPickingArray(List<PickingParam> pickingArray) {
        this.pickingArray = pickingArray;
    }

    @Override
    public String toString() {
        return "Order [ttPacketId=" + ttPacketId + ", ttPacketStatus=" + ttPacketStatus + ", carrierOrderId=" + carrierOrderId + ", trackingNumber=" + trackingNumber + ", virtualTrackingNumber=" + virtualTrackingNumber + ", platformId="
            + platformId + ", lastsyncTime=" + lastsyncTime + ", shippingMethodCode=" + shippingMethodCode + ", merchantId=" + merchantId + ", salesRecordNumber=" + salesRecordNumber + ", recipientName=" + recipientName
            + ", recipientAddress1=" + recipientAddress1 + ", recipientAddress2=" + recipientAddress2 + ", recipientState=" + recipientState + ", recipientCity=" + recipientCity + ", recipientCountryEnName=" + recipientCountryEnName
            + ", recipientCountryCnName=" + recipientCountryCnName + ", recipientCountry=" + recipientCountry + ", recipientPostalCode=" + recipientPostalCode + ", recipientTelephone=" + recipientTelephone + ", recipientMobile="
            + recipientMobile + ", recipientEmail=" + recipientEmail + ", senderName=" + senderName + ", senderCompany=" + senderCompany + ", senderAddress1=" + senderAddress1 + ", senderAddress2=" + senderAddress2 + ", senderState="
            + senderState + ", senderCity=" + senderCity + ", senderCountry=" + senderCountry + ", senderPostalCode=" + senderPostalCode + ", senderTelephone=" + senderTelephone + ", senderMobile=" + senderMobile + ", senderEmail="
            + senderEmail + ", declarationArray=" + declarationArray + ", extendParameterArray=" + extendParameterArray + ", apiParamArray=" + apiParamArray + ", pickingArray=" + pickingArray + "]";
    }
}